查看原文
其他

2023「炼丹」GPU选购指南来了:英伟达3080和4070Ti成性价比之王

关注前沿科技 量子位
2024-09-06
Alex 发自 凹非寺
量子位 | 公众号 QbitAI

春暖花开,各位深度学习er想不想给自己的“丹炉”升级一波?

“炼丹”爱好者们应该知道,在该领域中,**GPU的总体表现完胜CPU。

那么GPU应该怎么选?不妨来看看这篇超级详尽的“2023版GPU选购指南”

知名测评博主、华盛顿大学在读博士Tim Dettmers亲测后,写下万字长文,手把手教你Pick性价比最高的显卡,避免踩雷。

光是目录就有这么长……

至于谁是性价比之王,不卖关子,这里放上Tim哥的结论:

对于16位训练过程,RTX 3080的性价比最高;对于8位和16位推理,RTX 4070Ti的性价比最高。

有意思的是,不只这俩,他在本文推荐的显卡全是英伟达家的——Tim哥觉得,对于深度学习,“AMD GPU+ROCm”目前还打不过“NVIDIA GPU+CUDA”。

手把手教你挑GPU

Tim哥自制了一张表格,展示出在训练和推理过程中,一美元能买到多少算力;这在一定程度上体现了英伟达众显卡的性价比。

蓝色-16位训练;红色-16位推理;黄色-8位推理

看到这个,你可能一脸问号:从表格来看,不是RTX 4080在8位和16位推理上的性价比更高吗?

其实,咱们开头说的是“综合性价比”——

除了看一美元能买多少算力,还要结合显卡的运行成本,比如电费。所以总的来说,还是RTX 4070Ti的性价比更高。

虽然RTX3080和RTX 4070 Ti性价比高,但这俩的内存是个明显短板

Tim哥指出,12GB在很多情况下都不够用,要运行Transformer模型的话,至少需要24GB。

于是,Tim哥又贴心地做了一个小程序,帮你根据不同的任务选择最合适的GPU。

其背后的核心思想是:不管干啥,一定要保证GPU的内存满足你的需求。

首先,要弄清楚这个GPU是个人用还是公用,还有就是要处理什么任务——比如,是要训练语言大模型(LLM)吗、参数量有没有超过130亿?还是就做点小项目?

然后再根据自己的钱包情况,参考上面的表格,选择最合适的GPU。

举个例子:

如果要训练LLM且参数量超过130亿,不差钱的可以选择支持Azure公有云的A100或者H100;追求性价比的话,可以选支持AWS的A100或者H100。

但如果预算实在有限,建议放弃……

(在亚马逊上,40GB的英伟达Tesla A100售价为11769美元起,约合人民币79529元。当然这都是针对国外的情况,在国内炼丹仅供参考)

另外,Tim哥还支了一招:最好用云GPU(比如Lambda云)来估测一下所需的GPU内存(至少12GB用于图像生成,至少24GB用于处理Transformer)

其实假如GPU仅偶尔使用(每隔几天用几小时),甚至都不用去买个实体的,用云GPU就可以了。

对了~如果你真的不在乎这点(?)钱,就要追求极致性能,那可以看看这张表,即GPU的原始性能排行。

那如果实在钱不够,即使是Tim哥推荐的最便宜的GPU也买不起,还有办法吗?

那可以考虑二手呀!

先去买个便宜的GPU用于原型设计和测试,然后在云端进行全面的实验和测试。

关键性能点有哪些?

盘点完英伟达的一堆GPU后,再来叙一叙关乎深度学习速度的几大GPU性能关键点。

(如果你想稍微深入了解一些,请接着往下看。)

Tim哥指出,重点有四:GPU的内存、核心、Tensor Core和缓存

而其中最重要的是Tensor Core

Tensor Core是英伟达为其高端GPU开发的一项技术,本质上,就是加速矩阵乘法的处理单元。其中Tensor即张量,是一种能表示所有类型数据的数据类型。

Tim表示,在所有深度神经网络中,最昂贵的部分是矩阵乘法,而有了Tensor Core,运算速度会变得非常快,有助于大大减少成本。

就拿一个入门级的32×32矩阵乘法来说,通过Tensor Core,将矩阵乘法的运算时间从504个周期,降低到235个周期,直接减半。

而且即便是超大规模的矩阵运算,Tensor Core也能轻松处理。在规模堪比GPT-3的训练中,Tensor Core的TFLOPS利用率也就约为45-65%。

而当两个GPU都有Tensor Cores时,要比较它们性能,最佳指标之一就是内存带宽

例如,A100 GPU的内存带宽为1555GB/s,而V100为900GB/s。因此,A100和V100相比,运算速度大概是后者的1555/900=1.73倍。

由此可见,内存带宽会影响到Tensor Core的性能发挥。于是研究人员开始寻找其他GPU属性,使内存数据传输到Tensor Core的速度更快。

然后,他们发现,GPU的一级缓存、二级缓存、共享内存和使用的寄存器数量也都是相关因素。

对于缓存来说,数据块越小,计算速度越快;所以需要把大的矩阵乘法,划分成小的子矩阵乘法。研究者们把这些小的子矩阵乘法称为“内存碎片”*(memory tiles)。

一部分“碎片”被加载到Tensor Core中,由寄存器直接寻址。

根据英伟达Ampere架构的规则,举个例子~

把每一个权重矩阵都切成4个“碎片”,并假设其中两个为零——于是就得到了一堆稀疏权重矩阵。

然后把这些稀疏权重矩阵与一些密集输入相乘,Tensor Core功能启动,将稀疏矩阵压缩为密集表示,其大小为下图所示的一半。

在压缩之后,密集压缩的“碎片”被送入Tensor Core,计算的矩阵乘法是一般大小的两倍。这样,运算速度就成了通常的2倍。

Tim哥表示,上述性能点,他在统计英伟达GPU性能时都考虑在内了。

如果你把这些东西吃透了话,以后就能完全靠自己配置出最合适的“炼丹炉”了。

原文传送门:
https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/

「中国AIGC产业峰会」启动

邀您共襄盛举

「中国AIGC产业峰会」即将在今年3月举办,峰会将邀请AIGC产业相关领域的专家学者,共同探讨生成新世界的过去、现在和未来。

峰会上还将发布《中国AIGC产业全景报告暨AIGC 50》,全面立体描绘我国当前AIGC产业的竞争力图谱。点击链接或下方图片查看大会详情:

寻找中国版ChatGPT,量子位邀你共同参与中国AIGC产业峰会


点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~ 

修改于
继续滑动看下一个
量子位
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存